GetBytes(Int32,Int64,Byte[],Int32,Int32) Method
Reads a stream of bytes from the specified column offset into the buffer as an array starting at the given buffer offset.
'Declaration
Public Overloads Overrides Function GetBytes( _
ByVal As Integer, _
ByVal As Long, _
ByVal () As Byte, _
ByVal As Integer, _
ByVal As Integer _
) As Long
Parameters
- i
- The zero-based column ordinal.
- fieldOffset
- The index within the field where the read operation is to begin.
- buffer
- The buffer into which to read the stream of bytes.
- bufferOffset
- The index within the buffer where the write operation is to begin.
- length
- The maximum length to copy into the buffer.
Return Value
The actual number of bytes read.
This sample shows how to obtain array of bytes from a table and save it to a file.
static void GetThatBytes(PgSqlConnection pgConnection)
{
PgSqlCommand cmd = new PgSqlCommand("SELECT * FROM Test.Dept");
cmd.Connection = pgConnection;
pgConnection.Open();
try
{
PgSqlDataReader reader = cmd.ExecuteReader();
reader.Read();
byte[] myBytes = new byte[50];
long bytesRead = reader.GetBytes(reader.GetOrdinal("DName"),0,myBytes,0,50);
FileStream fs = new FileStream("D:\\Tmp\\1.txt", FileMode.Create);
fs.Write(myBytes,0,(int)bytesRead);
fs.Close();
Console.WriteLine(bytesRead+ " bytes downloaded from table to file.");
reader.Close();
}
finally
{
pgConnection.Close();
}
}
Public Sub GetThatBytes(ByVal pgConnection As PgSqlConnection)
Dim cmd As PgSqlCommand = New PgSqlCommand("SELECT * FROM Test.Dept")
cmd.Connection = pgConnection
pgConnection.Open()
Try
Dim reader As PgSqlDataReader = cmd.ExecuteReader()
reader.Read()
Dim myBytes(50) As Byte
Dim bytesRead As Long = reader.GetBytes(reader.GetOrdinal("DName"), 0, myBytes, 0, 50)
Dim fs As FileStream = New FileStream("D:\Tmp\1.txt", FileMode.Create)
fs.Write(myBytes, 0, Convert.ToInt32(bytesRead))
fs.Close()
Console.WriteLine(bytesRead & " bytes downloaded from table to file.")
reader.Close()
Finally
pgConnection.Close()
End Try
End Sub